home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)ze.d64
/
src.arrayfnc
< prev
next >
Wrap
Text File
|
2007-03-01
|
2KB
|
80 lines
;--------------------------------;
; ARRAYFNC - A COMAL MODULE ;
; ;
; EXTENDING COMAL WITH SOME ;
; ARRAY FUNCTIONS ;
; BY DICK KLINGENS ;
; 851002 ;
; DUTCH COMAL USERS GROUP ;
; THE HAGUE - HOLLAND ;
;--------------------------------;
;
;--CONSTANTS & VARIABLES---------;
FUNC =227
ENDFNC =126
PARAM =114
VALUE =PARAM+0
REAL =0
STR =2
ARRAY =6
DEFPAG =%01000110
;
COPY1 =$0045
;
;--ROUTINES----------------------;
FNDPAR =$C896
PSHINT =$C9CE
RUNERR =$C9FB
DUMMY =$CA2F
;
;--MODULE DESCRIPTION------------;
;
* =$8009 ;START ADDRESS
;
.BYTE DEFPAG ;MEMORY MAP
.WORD EIND ;END OF MODULE
.WORD DUMMY ;NO SIGNAL ROUTINES
;
.BYTE 6,'ARFUNC' ;PACKAGE NAME
.WORD PRTAB
.WORD DUMMY ;NO INITIALISATION
.BYTE 0 ;NO MORE PACKAGES
;--PROCEDURE TABEL---------------;
PRTAB .BYTE 5,'ARMAX'
.WORD HMAX
.BYTE 5,'ARMIN'
.WORD HMIN
.BYTE 0
;
;--PROCEDURE HEADERS-------------;
HMAX .BYTE FUNC+REAL,<BMAX,>BMAX,1
.BYTE VALUE+ARRAY+STR,1
.BYTE ENDFNC
;
HMIN .BYTE FUNC+REAL,<BMIN,>BMIN,1
.BYTE VALUE+ARRAY+STR,1
.BYTE ENDFNC
;
;--PROCEDURE BODIES--------------;
BMAX LDA #1
JSR FNDPAR
LDY #6
LDA (COPY1),Y
TAX ;.X:=LO BYTE UPPER BOUND
DEY
LDA (COPY1),Y ;.A:=HI BYTE UPPER BOUND
JSR PSHINT ;VALUE ON STACK
RTS ;COMAL
;
BMIN LDA #1
JSR FNDPAR
LDY #4
LDA (COPY1),Y
TAX ;.X:=LO BYTE LOWER BOUND
DEY
LDA (COPY1),Y ;.A:=HI BYTE LOWER BOUND
JSR PSHINT ;VALUE ON STACK
RTS ;COMAL
;
EIND .END